Some data storage systems include complex arrangements of storage disk arrays, configuration management interfaces, and storage processors. A system administrator faces many choices in making adjustments to the configuration of a data storage system in response to changing conditions, many of them resulting in suboptimal performance. For example, the system administrator may seek advice with regard to provisioning additional storage when a storage processor generates an alert that the available storage on a particular storage disk array has fallen below a threshold.
Conventional approaches to building configuration advisory tools for data storage systems use historical configuration and failure event data for optimizing the configuration of a data storage system. Such approaches involve developing a set of heuristics for reacting to failure events from the historical configuration and failure event data. Along these lines, suppose that a data storage system needs to be configured to support a certain quantum of work of a given characteristic (called a “workload”). A system administrator sends the failure event and the state of the data storage system at the time of the failure event to a customer support center. The customer support center, in turn, stores the failure event and the state of the data storage system into a database. From data in this database, the customer support center may, for instance derive a set of heuristics in a standalone tool for deducing configuration for another data storage system. The tool will take the input characteristics of the workload, and consulting the set of heuristics that it is supplied with, will provide advice on how to configure the data storage system.